package com.jiyun.jiyunmall.product.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jiyun.jiyunmall.common.service.impl.CrudServiceImpl;
import com.jiyun.jiyunmall.product.dao.SkuSaleAttrValueDao;
import com.jiyun.jiyunmall.product.dto.SkuItemSaleAttrsVo;
import com.jiyun.jiyunmall.product.dto.SkuSaleAttrValueDTO;
import com.jiyun.jiyunmall.product.entity.SkuSaleAttrValueEntity;
import com.jiyun.jiyunmall.product.service.SkuSaleAttrValueService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * sku销售属性&值
 *
 * @author boge 71164376@qq.com
 * @since 1.0.0 2022-07-12
 */
@Service
public class SkuSaleAttrValueServiceImpl extends CrudServiceImpl<SkuSaleAttrValueDao, SkuSaleAttrValueEntity, SkuSaleAttrValueDTO> implements SkuSaleAttrValueService {

    @Override
    public QueryWrapper<SkuSaleAttrValueEntity> getWrapper(Map<String, Object> params){
        String id = (String)params.get("id");

        QueryWrapper<SkuSaleAttrValueEntity> wrapper = new QueryWrapper<>();
        wrapper.eq(StringUtils.isNotBlank(id), "id", id);

        return wrapper;
    }

@Autowired
SkuSaleAttrValueDao skuSaleAttrValueDao;
    //拿着spuId去查询，所有的销售属性值信息，是多表查询，继续把这个查询逻辑梳理清楚。
    @Override
    public List<SkuItemSaleAttrsVo> getSaleAttrsBySpuId(Long spuId) {
        // 根据spuId，查询销售属性，返回的结果格式：
        List<SkuItemSaleAttrsVo> saleAttrVos = skuSaleAttrValueDao.getSaleAttrsBySpuId(spuId);
        return saleAttrVos;
    }

    @Override
    public List<String> getSkuSaleAttrValuesAsStringList(Long skuId) {
        return skuSaleAttrValueDao.getSkuSaleAttrValuesAsStringList(skuId);
    }
}